﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml;
using DotNetOpenAuth.OpenId.RelyingParty;

namespace SacNetUG.Models
{
    public interface ISacNetUGRepository
    {
        IDataContextWrapper Db { get; set; }
        XmlDocument MissingKids { get; set; }
        IQueryable<Event> GetRecentEvents();
        IQueryable<Event> GetFutureEvents();
        Event GetEvent(int eventId);
        Event GetNextEvent();
        IQueryable<State> GetStates(int page);
        int GetStatePageCount();
        User GetUser(int id);
        List<MissingKid> GetMissingKids();
        HashSet<string> GetCmsRoutes();
        //bool Contains(Contact contact);
       // void Add(Contact contact);
        void Save();
        User GetUserByOpenId(string openID);
        void Add(User contact);
        User GetUserByOpenId(IAuthenticationResponse response);
        RSVP GetRsvp(User user, int eventId, bool willAttend);
        RSVP GetRsvp(User user, int eventId);
        User GetUser(string authId);
        bool IsUserRegistered(string id);
        void AddUser(RegisterModel registerModel);
    }
}
